diff -urp QtSixA-1.5.1.orig/qtsixa/gui/qtsixa_main.py QtSixA-1.5.1/qtsixa/gui/qtsixa_main.py --- QtSixA-1.5.1.orig/qtsixa/gui/qtsixa_main.py 2012-12-06 22:59:03.103868725 -0800 +++ QtSixA-1.5.1/qtsixa/gui/qtsixa_main.py 2012-12-06 22:59:55.033596582 -0800 @@ -307,6 +307,8 @@ class MainW(QMainWindow, ui_qtsixa_mainw def func_DBusDisconnect(self, mode, name, mac): bus = dbus.SystemBus() try: + if (getoutput("qtsixa "+"--check-bluetoothd") == "0"): + raise bluez_bus = bus.get_object('org.bluez', '/') bluez_id = bluez_bus.DefaultAdapter(dbus_interface='org.bluez.Manager') adapter_bus = bus.get_object('org.bluez', bluez_id) diff -urp QtSixA-1.5.1.orig/qtsixa/qtsixa QtSixA-1.5.1/qtsixa/qtsixa --- QtSixA-1.5.1.orig/qtsixa/qtsixa 2012-12-06 22:59:03.107202042 -0800 +++ QtSixA-1.5.1/qtsixa/qtsixa 2012-12-06 22:59:17.417127047 -0800 @@ -68,6 +68,10 @@ fi echo "$ROOT" ;; + check-bluetoothd|-check-bluetoothd|--check-bluetoothd) +ps -e | grep bluetoothd > /dev/null && echo "1" || echo "0" + ;; + *) if [ -f ./gui/main.py ]; then exec python2 ./gui/main.py "$@" diff -urp QtSixA-1.5.1.orig/sixad/Makefile QtSixA-1.5.1/sixad/Makefile --- QtSixA-1.5.1.orig/sixad/Makefile 2012-12-06 22:59:03.100535408 -0800 +++ QtSixA-1.5.1/sixad/Makefile 2012-12-06 22:59:17.417127047 -0800 @@ -34,7 +34,6 @@ install: install -m 755 bins/sixad-remote $(DESTDIR)/usr/bin/ install -m 755 bins/sixad-3in1 $(DESTDIR)/usr/bin/ install -m 755 bins/sixad-raw $(DESTDIR)/usr/bin/ - install -m 755 sixad-dbus-blocker $(DESTDIR)/usr/bin/ @chmod 777 -R $(DESTDIR)/var/lib/sixad/ @echo "Installation is Complete!" @@ -47,5 +46,4 @@ uninstall: rm -f $(DESTDIR)/usr/bin/sixad-sixaxis rm -f $(DESTDIR)/usr/bin/sixad-remote rm -f $(DESTDIR)/usr/bin/sixad-raw - rm -f $(DESTDIR)/usr/bin/sixad-dbus-blocker rm -rf $(DESTDIR)/var/lib/sixad/ diff -urp QtSixA-1.5.1.orig/sixad/sixad QtSixA-1.5.1/sixad/sixad --- QtSixA-1.5.1.orig/sixad/sixad 2012-12-06 22:59:03.100535408 -0800 +++ QtSixA-1.5.1/sixad/sixad 2012-12-06 22:59:17.417127047 -0800 @@ -48,9 +48,6 @@ $SUDO /usr/bin/modprobe uinput } bt_start () { -$SUDO rm -f /tmp/.sixad-dbus-blocker.pid -env sleep 1 - if [ -f /lib/udev/rules.d/97-bluetooth.rules ]; then $SUDO /usr/bin/bluetoothd --udev elif [ -f /etc/rc.d/bluetooth ]; then @@ -64,8 +61,6 @@ bt_stop() { if (bluetoothd_running_check); then $SUDO pkill -KILL bluetoothd fi - -$SUDO /usr/bin/sixad-dbus-blocker & } case $1 in